package cn.itcast.web;

import cn.itcast.domain.company.Company;
import cn.itcast.service.CompanyService;


import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController  //相当于@Controller+@ResponseBody
public class ApplyController {

    /**
     * @Reference
     * 1.通过dubbo提供的注解，注入接口的代理对象
     * 2.引入dubbo的包
     * 3.retries  当远程调用服务，达到超时时间，默认重试两次，设置为0表示不重试，链接超时直接断开
     */
    @Reference
    private CompanyService companyService;

    //返回一个字符串，返回1表示成功，根据前端页面来返回
    @RequestMapping("/apply")
    public String apply(Company company){
        try {
            //远程调用企业服务
            //dubbo服务消费远程调用服务提供者，传递的参数必须要实现可序列化接口
            //否则报错
           companyService.save(company);
            return "1";
        } catch (Exception e) {
            e.printStackTrace();
            return "0";
        }
    }

}
